let ( * ) a b =
      let c = a * b in
      if Int64.of_int c = Int64.mul (Int64.of_int a) (Int64.of_int b)
      then c else raise Overflow